package com.alfredo.android.appcaja;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioGroup;

import com.alfredo.android.appcaja.constants.Keys;
import com.alfredo.android.appcaja.constants.RequesCodes;
import com.alfredo.android.appcaja.model.InformePreliminar;
import com.alfredo.android.appcaja.model.Orden;
import com.alfredo.android.appcaja.util.Utils;
import com.luminous.pick.Action;

public class InformePreliminarActivity extends Activity 
{
	private Orden orden;
	private String[] urlsFotos = null;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) 
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_informe_preliminar);
		
		Bundle extras = getIntent().getExtras();
		orden = (Orden) extras.getSerializable(Keys.ORDEN);
		
		EditText etIPreliminarCgi = (EditText) findViewById(R.id.etIPreliminarCgi);
		etIPreliminarCgi.setText(String.valueOf(orden.getCgi()));
		
		EditText etIPreliminarNExpediente = (EditText) findViewById(R.id.etIPreliminarNExpediente);
		etIPreliminarNExpediente.setText(String.valueOf(orden.getNroExpediente()));
		
		EditText etIPreliminarCausanteBeneficiario = (EditText) findViewById(R.id.etIPreliminarCausanteBeneficiario);
		etIPreliminarCausanteBeneficiario.setText(orden.getCausanteBeneficiario());
		
		Button btnIPreliminarAdjuntarFotos = (Button) findViewById(R.id.btnIPreliminarAdjuntarFotos);
		btnIPreliminarAdjuntarFotos.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View view) {
				Intent pickIntent = new Intent(Action.ACTION_MULTIPLE_PICK);
				startActivityForResult(pickIntent, RequesCodes.PICK_MULTIPLE_PATHS);    
			}
		});
		
		Button btnIPreliminarEnviar = (Button) findViewById(R.id.btnIPreliminarEnviar);
		btnIPreliminarEnviar.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View view) {
				enviarEmail();
			}
		});
	}
	
	private InformePreliminar cargarInformePreliminar()
	{
		InformePreliminar informePreliminar = new InformePreliminar();
		
		EditText etIPreliminarObservaciones = (EditText) findViewById(R.id.etIPreliminarObservaciones);
		EditText etIPreliminarValoracion = (EditText) findViewById(R.id.etIPreliminarValoracion);
		EditText etIPreliminarPeriodoConvivencia = (EditText) findViewById(R.id.etIPreliminarPeriodoConvivencia);
		RadioGroup rgIPreliminarVinculo = (RadioGroup) findViewById(R.id.rgIPreliminarVinculo);
		CheckBox chbIPreliminarDniSolicitante = (CheckBox) findViewById(R.id.chbIPreliminarDniSolicitante);
		CheckBox chbIPreliminarActaMatrimonio = (CheckBox) findViewById(R.id.chbIPreliminarActaMatrimonio);
		CheckBox chbIPreliminarResumenTarjeta = (CheckBox) findViewById(R.id.chbIPreliminarResumenTarjeta);
		CheckBox chbIPreliminarCopiaDesigSeguro = (CheckBox) findViewById(R.id.chbIPreliminarCopiaDesigSeguro);
		CheckBox chbIPreliminarSentenciaDivorcioCuota = (CheckBox) findViewById(R.id.chbIPreliminarSentenciaDivorcioCuota);
		CheckBox chbIPreliminarCopiaResumenCuentaCuota = (CheckBox) findViewById(R.id.chbIPreliminarCopiaResumenCuentaCuota);
		CheckBox chbIPreliminarActaNacimientoHijos = (CheckBox) findViewById(R.id.chbIPreliminarActaNacimientoHijos);
		CheckBox chbIPreliminarDniHijos = (CheckBox) findViewById(R.id.chbIPreliminarDniHijos);
		EditText etIPreliminarOtros = (EditText) findViewById(R.id.etIPreliminarOtros);
		
		informePreliminar.setObservaciones(etIPreliminarObservaciones.getText().toString());
		informePreliminar.setValoracion(etIPreliminarValoracion.getText().toString());
		informePreliminar.setPeriodoConvicencia(etIPreliminarPeriodoConvivencia.getText().toString());
		
		if(rgIPreliminarVinculo.getCheckedRadioButtonId() == R.id.rbIPreliminarVinculoSi)
			informePreliminar.setVinculo(true);
		else
			informePreliminar.setVinculo(false);
			
		informePreliminar.setDniSolicitante(chbIPreliminarDniSolicitante.isChecked());
		informePreliminar.setActaMatrimonio(chbIPreliminarActaMatrimonio.isChecked());
		informePreliminar.setResumenTarjeta(chbIPreliminarResumenTarjeta.isChecked());
		informePreliminar.setCopiaDesigSeguro(chbIPreliminarCopiaDesigSeguro.isChecked());
		informePreliminar.setSentenciaDivorcioCuota(chbIPreliminarSentenciaDivorcioCuota.isChecked());
		informePreliminar.setCopiaResumenCuentaCuota(chbIPreliminarCopiaResumenCuentaCuota.isChecked());
		informePreliminar.setActaNacimientoHijos(chbIPreliminarActaNacimientoHijos.isChecked());
		informePreliminar.setDniHijos(chbIPreliminarDniHijos.isChecked());
		informePreliminar.setOtros(etIPreliminarOtros.getText().toString());
		
		return informePreliminar;
	}
	
	private void enviarEmail()
	{
		InformePreliminar informePreliminar = cargarInformePreliminar();
		orden.setInformePreliminar(informePreliminar);
		StringBuilder sb = new StringBuilder();
		sb.append("<b>"+getResources().getString(R.string.ip_sintesis)+"</b><br>");
		sb.append("_____________________________________"+"<br><br>");
		sb.append("<b>"+getResources().getString(R.string.cgi)+"</b><br>");
		sb.append(orden.getCgi()+"<br><br>");
		sb.append("<b>"+getResources().getString(R.string.n_expediente)+"</b><br>");
		sb.append(orden.getNroExpediente()+"<br><br>");
		sb.append("<b>"+getResources().getString(R.string.causante_beneficiario)+"</b><br>");
		sb.append(orden.getCausanteBeneficiario()+"<br><br>");
		sb.append("<b>"+getResources().getString(R.string.ip_vinculo)+"</b><br>");
		sb.append(orden.getInformePreliminar().isVinculo()?"si<br><br>":"no<br><br>");
		sb.append("<b>"+getResources().getString(R.string.observaciones)+"</b><br>");
		sb.append(orden.getInformePreliminar().getObservaciones()+"<br><br>");
		sb.append("<b>"+getResources().getString(R.string.ip_valoracion)+"</b><br>");
		sb.append(orden.getInformePreliminar().getValoracion()+"<br><br>");
		sb.append("<b>"+getResources().getString(R.string.ip_periodo_convivencia)+"</b><br>");
		sb.append(orden.getInformePreliminar().getPeriodoConvicencia()+"<br><br>");
		sb.append("<br><br>");
		sb.append("<b>"+getResources().getString(R.string.ip_doc_adjunta)+"</b><br>");
		sb.append("_____________________________________"+"<br><br>");
	
		if(orden.getInformePreliminar().isDniSolicitante())
			sb.append("* "+getResources().getString(R.string.ip_dni_solicitante)+"<br>");
		
		if(orden.getInformePreliminar().isActaMatrimonio())
			sb.append("* "+getResources().getString(R.string.ip_acta_matrimonio)+"<br>");
		
		if(orden.getInformePreliminar().isResumenTarjeta())
			sb.append("* "+getResources().getString(R.string.ip_resumen_tarjeta)+"<br>");	
		
		if(orden.getInformePreliminar().isCopiaDesigSeguro())
			sb.append("* "+getResources().getString(R.string.ip_copia_desig_seguro)+"<br>");
		
		if(orden.getInformePreliminar().isSentenciaDivorcioCuota())
			sb.append("* "+getResources().getString(R.string.ip_sentencia_divorcio_cuota)+"<br>");
		
		if(orden.getInformePreliminar().isCopiaResumenCuentaCuota())
			sb.append("* "+getResources().getString(R.string.ip_copia_resumen_cuenta_cuota)+"<br>");
		
		if(orden.getInformePreliminar().isActaNacimientoHijos())
			sb.append("* "+getResources().getString(R.string.ip_acta_nacimiento_hijos)+"<br>");
		
		if(orden.getInformePreliminar().isDniHijos())
			sb.append("* "+getResources().getString(R.string.ip_dni_hijos)+"<br>");
		
		sb.append("<br><br>");
		
		sb.append("<b>"+getResources().getString(R.string.ip_otros)+"</b><br>");
		sb.append(orden.getInformePreliminar().getOtros()+"<br><br>");
		
		Utils.enviarEmail(this, "INFORME PRELIMINAR", orden, sb.toString(), urlsFotos);
	}

	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) 
	{
		super.onActivityResult(requestCode, resultCode, data);
		
		if (requestCode == RequesCodes.PICK_SINGLE_PATH && resultCode == Activity.RESULT_OK) 
		{
            String single_path = data.getStringExtra("single_path");
            urlsFotos = new String[]{single_path};
        }
		else if (requestCode == RequesCodes.PICK_MULTIPLE_PATHS && resultCode == Activity.RESULT_OK) 
        {
            String[] all_path = data.getStringArrayExtra("all_path");
            urlsFotos = all_path;
        }
	}
}
